Displaying
Help in a Secondary Window
An application
can display topics in secondary windows instead of in the Windows Help main
window. Secondary windows are useful whenever the user does not need the full
capabilities of Windows Help.
To display
help in a secondary window, the application specifies the name of the secondary
window along with the name of the help file. The following example displays the
topic having the context identifier IDM_FILE_SAVE in the secondary window named
wnd_menu :
WinHelp(hwnd, "myhelp.hlp>wnd_menu",
HELP_CONTEXT, IDM_FILE_SAVE);
The name and
characteristics of the secondary window must be defined in the [WINDOWS]
section of the project file, as in the following example:
[WINDOWS]
wnd_menu = "Menus", (128, 128, 256, 256), 0
Windows Help
displays the secondary window with the initial size and position specified in
the [WINDOWS] section. However, an application can set a new size and
position by specifying the HELP_SETWINPOS value in the WinHelp1XWU4M4 structure to specify the window size and
position. The following examples sets the secondary window wnd_menu to a new
size and position:
HANDLE hhwi;
LPHELPWININFO lphwi;
WORD wSize;
char *szWndName = "wnd_menu";
wSize = sizeof(HELPWININFO) + lstrlen(szWndName);
hhwi = GlobalAlloc(GHND, wSize);
lphwi = (LPHELPWININFO)GlobalLock(hhwi);
lphwi->wStructSize = wSize;
lphwi->x = 256;
lphwi->y = 256;
lphwi->dx = 767;
lphwi->dy = 512;
lphwi->wMax = 0;
lstrcpy(lphwi->rgchMember, szWndName);
WinHelp(hwnd, "myhelp.hlp", HELP_SETWINPOS, lphwi);
GlobalUnlock(hhwi);
GlobalFree(hhwi);